package com.bcu.jieduankaohe02.controller;

import com.bcu.jieduankaohe02.entity.Product;
import com.bcu.jieduankaohe02.service.CategoryService;
import com.bcu.jieduankaohe02.dao.ProductDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/api")
public class ProductApiController {

    @Autowired
    private ProductDao productDao;

    @Autowired
    private CategoryService categoryService;

    /**
     * 获取产品列表
     *
     * 如果请求中没有提供类别参数或类别参数为空，则返回热门产品列表；
     * 否则，根据提供的类别参数返回相应类别的产品列表
     *
     * @param category 可选的类别参数，用于过滤产品类别
     * @return 根据条件返回的产品列表
     */
    @GetMapping("/products")
    public List<Product> getProducts(@RequestParam(required = false) String category) {
        if (category == null || category.isEmpty()) {
            // 返回热门产品列表
            return productDao.findPopularProducts();
        } else {
            // 根据类别返回产品列表
            return productDao.findByCategory(category);
        }
    }


    @GetMapping("/categories")
    public List<String> getAllCategories() {
        return categoryService.getAllCategories();
    }
}